#include<unistd.h>
#include<iostream>
#include<sys/types.h>
#include<signal.h>
#include<functional>
#include<vector>
#include<stdio.h>
using func_t =std::function<void()>;
std::vector<func_t>v;
void handler(int n){
    std::cout<<"闹钟响了，OS开始work"<<std::endl;
    for(auto &i:v)
    i();
    alarm(1);
}

int main(){
    v.push_back([](){std::cout<<"我要刷新内核缓冲区了"<<std::endl;});
    v.push_back([](){std::cout<<"我要检测时间片是否到了，如果到了就切换进程"<<std::endl;});
    v.push_back([](){std::cout<<"我要定期清理内存中的垃圾了"<<std::endl;});
   int a=0;
   alarm(1);
     signal(SIGALRM,handler);
   while(true)
 {  
    pause();
   std::cout<<"行啊"<<std::endl;
 }
}
struct Timer{
    pid_t id;//哪个进程设置的定时器
    struct Timer* Next;
    int end;//定时器什么时候响（时间戳）
    //..........
};